package com.pro.mapper;

import com.pro.pojo.*;

import java.util.List;

/**
* @Title: 评论的dao层
* @author 许振杰
* @date 2022/1/15 0015 8:54
* @version V1.0
*/

public interface CommentMapper {
    /**
    * @Title: 查询前端用户的商品全部评论
    * @author 许振杰
    * @date 2022/1/15 0015 10:57
    * @version V1.0
    */
    List<JsComment> getBeforeProductComment(Integer type,Integer userType);

    /**
     * @Title: 查询后台用户的全部评论
     * @author Administrator
     * @date 2022/1/15 0015 16:23
     * @version V1.0
     */
    List<JsComment> getUserProductComment(Integer type,Integer userType);

    /**
    * @Title: 查询全部评论的数量
    * @author 许振杰
    * @date 2022/1/17 0017 13:51
    * @version V1.0
    */
    Integer getCommentCount(Integer type,Integer userType);

    /**
    * @Title: 根据不同状态查询评论数量
    * @author 许振杰
    * @date 2022/1/17 0017 13:50
    * @version V1.0
    */
    Integer getCommentCountByStatus(Integer type,Integer userType,Integer status);

    /**
    * @Title: 根据评论的不同状态获取前端商品评论数据
    * @author 许振杰
    * @date 2022/1/17 0017 14:51
    * @version V1.0
    */
    List<JsComment> getBeforeProductCommentByStatus(Integer type,Integer userType,Integer status);

    /**
    * @Title: 根据评论的不同状态获取前端商品评论数据
    * @author 许振杰
    * @date 2022/1/17 0017 14:54
    * @version V1.0
    */
    List<JsComment> getUserProductCommentByStatus(Integer type,Integer userType,Integer status);

    /**
    * @Title: 修改评论的状态
    * @author 许振杰
    * @date 2022/1/17 0017 15:53
    * @version V1.0
    */
    boolean editComment(Integer id,Integer status);
    /**
    * @Title: 删除评论
    * @author 许振杰
    * @date 2022/1/17 0017 15:53
    * @version V1.0
    */
    boolean delComment(Integer id);

    //查看历史评论次数

    /**
    * @Title: 查询历史评论次数
    * @author 许振杰
    * @date 2022/1/17 0017 19:30
    * @version V1.0
    */
    Integer historyCommentPeople(Integer type,Integer userType);

    /**
    * @Title: 查询评论的用户和评论时间
    * @author 许振杰
    * @date 2022/1/17 0017 19:39
    * @version V1.0
    */
    List<JsComment> getCommentUserAndData(Integer type,Integer userType);

    /**
    * @Title: 查询前端用户的微圈全部评论
    * @author 许振杰
    * @date 2022/1/19 0019 15:23
    * @version V1.0
    */
    List<JsComment> getBeforeMicrocircleComment(Integer type,Integer userType);

    /**
    * @Title: 查询后台管理用户的微圈全部评论
    * @author 许振杰
    * @date 2022/1/19 0019 15:23
    * @version V1.0
    */
    List<JsComment> getUserMicrocircleComment(Integer type,Integer userType);

    /**
    * @Title: 点击不同的状态显示不同的前端评论
    * @author 许振杰
    * @date 2022/1/19 0019 16:11
    * @version V1.0
    */
    List<JsComment> getBeforeMicrocircleCommentByStatus(Integer type,Integer userType,Integer status);

    /**
    * @Title: 点击不同的状态显示不同后台评论
    * @author 许振杰
    * @date 2022/1/19 0019 16:11
    * @version V1.0
    */
    List<JsComment> getUserMicrocircleCommentByStatus(Integer type,Integer userType,Integer status);

    /**
    * @Title: 判断用户是前端用户还是后台用户
    * @author 许振杰
    * @date 2022/1/19 0019 19:02
    * @version V1.0
    */
    List<JsUser> getDeptId(Integer userId,String account);

    /**
    * @Title: 查询前端课程评论
    * @author 许振杰
    * @date 2022/1/20 0020 13:54
    * @version V1.0
    */
    List<JsComment> getBeforCourseComment(Integer type,Integer userType);

    /**
    * @Title: 查询后端课程评论
    * @author 许振杰
    * @date 2022/1/20 0020 13:57
    * @version V1.0
    */
    List<JsComment> getUserCourseComment(Integer type,Integer userType);

    /**
    * @Title: 根据不同状态查询前端评论
    * @author 许振杰
    * @date 2022/1/20 0020 14:18
    * @version V1.0
    */
    List<JsComment> getBeforCourseCommentByStatus(Integer type,Integer userType,Integer status);

    /**
    * @Title: 根据不同的状态查询后端用户评论
    * @author 许振杰
    * @date 2022/1/20 0020 14:20
    * @version V1.0
    */
    List<JsComment> getUserCourseCommentByStatus(Integer type,Integer userType,Integer status);


    /**
    * @Title: 根据评论id查询微圈信息
    * @author 许振杰
    * @date 2022/1/21 0021 14:59
    * @version V1.0
    */
    JsMicrocircle getMicrocircleInformationById(Integer id);
    
    /**
    * @Title: 根据评论id查询课程信息
    * @author 许振杰
    * @date 2022/1/21 0021 15:00
    * @version V1.0
    */
    JsCourse getCourseInformationById(Integer id);

    /**
    * @Title: 根据评论id查询商品信息
    * @author Administrator
    * @date 2022/1/21 0021 15:03
    * @version V1.0
    */
    JsProduct getProductInformationById(Integer id);

    /**
    * @Title: 个人前端课程评论
    * @author 许振杰
    * @date 2022/1/21 0021 20:59
    * @version V1.0
    */
    List<JsComment> getPersonalCourseBeforeComment(Integer type,Integer userType,Integer userId);

    /**
    * @Title: 个人后台课程评论
    * @author 许振杰
    * @date 2022/1/21 0021 20:59
    * @version V1.0
    */
    List<JsComment> getPersonalCourseUserComment(Integer type,Integer userType,Integer userId);

    /**
    * @Title: 查询个人不同状态下的前端课程评论
    * @author 许振杰
    * @date 2022/1/21 0021 20:59
    * @version V1.0
    */
    List<JsComment> getPersonalCourseBeforeCommentByStatus(Integer type,Integer userType,Integer userId,Integer status);

    /**
    * @Title: 查询个人不同状态下的后端课程评论
    * @author 许振杰
    * @date 2022/1/21 0021 21:00
    * @version V1.0
    */
    List<JsComment> getPersonalCourseUserCommentByStatus(Integer type,Integer userType,Integer userId,Integer status);

    /**
    * @Title: 查询个人不同商品的全部评论数量
    * @author 许振杰
    * @date 2022/1/20 0020 16:49
    * @version V1.0
    */
    Integer getPersonalCommentCount(Integer type,Integer userType,Integer userId);

    /**
    * @Title: 查询个人不同状态下的评论数量
    * @author Administrator
    * @date 2022/1/20 0020 16:52
    * @version V1.0
    */
    Integer getPersonalCommentCountByStatus(JsComment comment);

    /**
    * @Title: 查询个人历史评论人数
    * @author 许振杰
    * @date 2022/1/22 0022 16:39
    * @version V1.0
    */
    Integer personalHistoryComment(Integer userType,Integer type,Integer userId);


    /**
    * @Title: 个人前端微圈评论
    * @author 许振杰
    * @date 2022/1/22 0022 19:18
    * @version V1.0
    */
    List<JsComment> getPersonalBeforeMicrocircleComment(Integer type,Integer userType,Integer userId);

    /**
    * @Title: 个人后端微圈评论
    * @author 许振杰
    * @date 2022/1/22 0022 19:30
    * @version V1.0
    */
    List<JsComment> getPersonalUserMicrocircleComment(Integer type,Integer userType,Integer userId);

    /**
    * @Title: 根据不停状态查询个人前端微圈评论
    * @author Administrator
    * @date 2022/1/22 0022 19:51
    * @version V1.0
    */
    List<JsComment> getPersonalBeforeMicrocircleCommentByStatus(Integer type,Integer userType,Integer userId,Integer status);

    /**
    * @Title: 根据不停状态查询个人后端微圈评论
    * @author 许振杰
    * @date 2022/1/22 0022 19:32
    * @version V1.0
    */
    List<JsComment> getPersonalUserMicrocircleCommentByStatus(Integer type,Integer userType,Integer userId,Integer status);

    /**
    * @Title: 个人前端商品评论
    * @author 许振杰
    * @date 2022/1/22 0022 20:33
    * @version V1.0
    */
    List<JsComment> getPersonalBeforeProductComment(Integer type,Integer userType,Integer userId);

    /**
    * @Title: 个人后台商品评论
    * @author 许振杰
    * @date 2022/1/22 0022 21:24
    * @version V1.0
    */
    List<JsComment> getPersonalUserProductComment(Integer type,Integer userType,Integer userId);

    /**
    * @Title: 根据不同的状态查询个人前端商品评论
    * @author 许振杰
    * @date 2022/1/22 0022 21:25
    * @version V1.0
    */
    List<JsComment> getPersonalBeforeProductCommentByStatus(Integer type,Integer userType,Integer userId,Integer status);

    /**
    * @Title: 根据不同的状态查询个人后端商品评论
    * @author 许振杰
    * @date 2022/1/22 0022 21:25
    * @version V1.0
    */
    List<JsComment> getPersonalUserProductCommentByStatus(Integer type,Integer userType,Integer userId,Integer status);

}
